perm filename PX.F4[PAX,LCS] blob
sn#573425 filedate 1981-03-13 generic text, type T, neo UTF8
COMMON/STF/RSTFAC(0/7),RSTJ2 /POSI/STFF(0/7),JJ2,JPQ
1 /IPG/IPG,JPG,BRACK(0/7),RSTNUM(8),RPSZ(8),RHGT(8),
1 RCLEF(0/7) /RSIG/RSIG(0/7) /IVV/NRD(200)
COMMON RS,JA,REST,J2,RQ(18),JX,PR,LX,RDIS
C ORDER OF COMMON BLOCKS **MUST** STAY AS IS!
COMMON/XRN/RN(3500) /SF/KL,RT,KP,STFSZ,NAMX,EXT
1 /PTR/KWDS(350)/LLL/LLL,LL,I,IX,XSIG/XXX/LK,LP,JY /JN/J,N
C INCREASE DIMENSION OF KWDS (KPN & Q) FOR VERY FULL PAGES.
DIMENSION MM(1500),NN(1500),BARS(509),STFNM(0/7),KSAVE(30),
1 RMETER(0/7),RCL(0/7),NUMS(30),PGTRN(500),SAVES(470),U(1)
C KSAVE AND SAVES ARE TO SAVE REHEARSAL NUMS, ETC. -- LIMIT=30
COMMON /PX/KPN(450) /Q/Q(4000) /KBAR/KBAR(1027) /IRST/IRST
1 /RCLF/KK,CLEF,KW,ITEM,RSTAFF,SN,YN,RNAM,RNAM2,RNAM3
1 /RSP/KNM(100) /ENDL/ENDLN,KQ,NAME,NMPG,SPCNT,LASTNM
1 /JWDS/JWDS(300),RRN(3000)
C JWDS IS EQUIVALENCED IN PTMOVX.F4 AND RESTP.F4
DATA FIB/.7/,RSPC/25./,PGNUM/1.6/,RNMHT/16.0/,RNMSZ/1.0/
1 ,RLTRSZ/1.0/,SPCPG/2.7/
EQUIVALENCE (RQ(2),R4),(R5,RQ(3)),(R6,RQ(4)),(R7,RQ(5))
1,(MM,RN),(NN,RN(1501)),(KS,RS),(BARS,KBAR(4)),(JRSTF,RSTJ2)
1,(R8,RQ(6)),(R9,RQ(7)),(RQ(10),XLFT),(KBR,KBAR),(T,KBAR(2))
1,(STFNM,KBAR(508)),(NUM1,NUMS,KPN),(PGTRN(1),KBAR(5 16))
1,(SAVES,Q(3001)),(KSAVE,Q(3475)),(U,KBAR(1026))
C HANDLES 503 PAGES AND PAGE-TURN INFO. IN KBAR AND PGTRN
C RQ(2) IS R4, RQ(3) IS R5 ETC. STAFF NAMES START AT KBAR(508)=STF(0)
RN(2)=0
EXT='MS'
IRST=0
C IRST IS USED IN SUBROUTINE RESTP
IPG=0
KBR=0
NMPG='PAGEA'
JPG=0
JRD=1
ENDLN=0
SAVSIZ=0
ISN=0
NCNT=10000
IFOUND=0
TYPE 1000
ACCEPT 2000,NAMX
IF(NAMX.EQ.0)CALL PT2
IF(NAMX.EQ.3)CALL TRONLY
NPG=NAMX-2
TYPE 3300
IF(NPG.GE.0)GO TO 3000
ACCEPT 2,KS,NTYPE
C TYPE -1 AFTER NAME(I.E.5 SPACES) TO PRINT INST. NAMES AS READ.
JNM=1
CALL LO2UP(KS)
143 CALL IFILE(1,KS)
READ(1,2)K
IF(K.NE.'COMME')GO TO 543
743 READ(1,643),K,K,K
C READ ET DIRECTORY !∃∀ βλπα∀πεβα!ββX!
IF(K.NE.';')GO TO 743
READ(1,2)K
GO TO 843
C FIRST LINE MUST BE EXTENSION NAME
643 FORMAT(3A1)
2 FORMAT(A5,30I)
3300 FORMAT(' TYPE FILE NAME -- '$)
1000 FORMAT(' 1=PARTS, 2=PAGE LAYOUT, 3=TRNSP ONLY, <CR>=OLD '$)
2000 FORMAT(I)
543 CALL IFILE(1,KS)
843 CALL READX(1,KNM(JNM),EXT,KEND,NUMS)
IF(KEND)GO TO 343
JNM=JNM+1
DO 434 K=1,30
J=KPN(K)
JPG=JPG+1
NRD(JPG)=J
C BE CAREFUL ABOUT RUNNING OVER NRD ARRAY (100)-- ZEROS ARE INSERTED***********
434 IF(J.EQ.0)GO TO 843
GO TO 843
3000 CALL READX(5,NAMX,EXT,KEND,NUMS)
KNM(1)=NAMX
END
SUBROUTINE READX(IDEV,NAME,IEXT,KEND,NUMS)
DIMENSION NUMS(1),RI(30)
COMMON /PTR/INP(72) /JWDS/JWDS(1)
EQUIVALENCE(INP,RI)
100 FORMAT(A5,73A1)
KEND=0
C IDEV=DEVICE NUMBER (1=DSK, 5=TTY)
READ(IDEV,100,END=12)NAME,K,INP
IF(K.EQ.' ')GO TO 2
IF(K.NE.'.')GO TO 8
C NOW FOUND EXTENSION. GO PACK IT.
DO 4 K=2,5
4 NUMS(K)=' '
DO 5 K=1,5
IF(INP(K).EQ.' ')GO TO 6
5 NUMS(K)=INP(K)
6 CALL PACKX(IEXT,NUMS)
CALL LO2UP(IEXT)
GO TO 11
2 K=1
11 CALL ASCNUM(INP(K),RI,JWDS,M)
C ASCNUM CHANGES ASCII TO NUMBERS, JWDS IS A DUMMY FOR NOW, M=HOW MANY
DO 7 K=1,M
7 NUMS(K)=RI(K)
10 CALL LO2UP(NAME)
RETURN
8 TYPE 9
9 FORMAT(' **** USE ONLY 5-LETTER NAMES. ONLY 1 EXT. CAN BE USED')
STOP
12 KEND=-1
END
SUBROUTINE PACKX(NAM,KNM)
DIMENSION KNM(5)
DATA KK/128/,LL/"377777777777/,JJ/"2000000000/
1 , MM/"774000000000/
NAM=0
DO 12 K=5,1,-1
NAM=NAM .OR. (KNM(K) .AND. MM)
IF (K.EQ.1)RETURN
17 IF (NAM.GE.0)GO TO 13
NAM = (( NAM .AND. LL)/KK) .OR. JJ
GO TO 12
13 NAM = NAM / KK
12 CONTINUE
END
SUBROUTINE ASCNUM(I,RI,KNT,M)
DIMENSION KNT(72),RI(72),I(72)
INTEGER ZERO,NINE,KNT,J,I,DOT,BLA
CC INTEGER*1 ZERO,NINE,KNT,J,I,DOT,BLA
DATA DOT/'.'/,BLA/' '/,ZERO/'0'/,NINE/'9'/
DO 10 K=1,72
10 KNT(K)=-1
IDEC=0
M=1
C=1.0
R=0
DO 5 K=1,72
J=I(K)
IF(J.EQ.BLA)GO TO 8
IF(J.NE.DOT)GO TO 6
IDEC=-1
GO TO 5
6 IF(J.GE.ZERO.AND.J.LE.NINE)GO TO 7
CALL STOW(J,RI(M))
KNT(M)=0
GO TO 9
7 IF(IDEC.NE.0)C=C*0.1
CALL CONV(R,J)
GO TO 5
8 IF(R.EQ.0)GO TO 5
A=R*C
RI(M)=A
KNT(M)=1
R=0
C=1.0
IDEC=0
9 M=M+1
5 CONTINUE
M=M-1
END
SUBROUTINE CONV(R,J)
CC INTEGER*1 J
CC R=R*10.+J-48
L=(J-'0')/536870912
R=R*10.+L
END
SUBROUTINE STOW(R,RI)
RI=R
END
SUBROUTINE ASC(R)
200 FORMAT(' ',A1)
WRITE(5,200)R
END
SUBROUTINE RNUM(R)
201 FORMAT(F13.4)
WRITE(5,201)R
END
SUBROUTINE LO2UP(J)
C CONVERTS ALL LOWER CASE TO UPPER CASE.
J=J.AND..NOT.((J/2).AND."201004020100)
END
FUNCTION TSIG(Q,J)
DIMENSION Q(1)
TSIG=IFIX(Q(J+5)*100.0+Q(J+6)+.5)
C COMBINES METER NUMS. (2/4 = 204. ETC.)
END